package amodel

import (
	"time"

	"gorm.io/datatypes"
	"gorm.io/gorm"
)

type S基础model struct {
	ID        uint `json:"id" gorm:"primarykey"`
	CreatedAt time.Time
	UpdatedAt time.Time
	DeletedAt gorm.DeletedAt `gorm:"index"`
	// A名称 string `json:"名称"`
	A编号       string         `json:"编号" gorm:"column:编号;"`
	A状态       string         `json:"状态" gorm:"column:状态;"`
	A流程记录集    datatypes.JSON `json:"流程记录集" gorm:"column:流程记录集;"`
	CreatedBy *uint          `json:"创建者" gorm:""`
	UpdatedBy *uint          `json:"更新者" gorm:""`
	DeletedBy *uint          `json:"删除者" gorm:""`
}

// func (s *S基础model) AfterSave(tx *gorm.DB) (err error) {
// 	fmt.Printf("AfterSave s 👉 %+v\n", s)
// 	if s.A编号 == "" {
// 		前缀 := "a"
// 		编号 := fmt.Sprintf("%s-%d", 前缀, s.ID)

// 		v := reflect.ValueOf(s).Elem()
// 		field := v.FieldByName("A编号")
// 		if field.IsValid() && field.CanSet() {
// 			field.SetString(编号)
// 			// Now update the database
// 			err = tx.Model(s).Update("编号", 编号).Error
// 		}

// 	}
// 	return
// }

// func (s *S基础model) AfterSave(tx *gorm.DB) (err error) {
// 	fmt.Printf("AfterSave s 👉 %+v\n", s)
// 	if s.A名称 == "" {

//		}
//		return
//	}

func (s *S基础model) BeforeCreate废(tx *gorm.DB) (err error) {
	// if s.A名称 == "" {
	// 	kk := uuid.New().String()
	// 	kk = kk[:6]
	// 	s.A名称 = kk
	// }
	return
}
